clc; clear all
format long
%nntwarn off

p1=[1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;1;1;0;0;0;1];%A
p2=[1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1];%B
p3=[1;1;1;1;1;1;0;0;0;0;1;0;0;0;0;1;0;0;0;0;1;1;1;1;1];%C
p4=[1;1;1;1;1;1;1;0;0;1;1;1;0;0;1;1;1;0;0;1;1;1;1;1;1];%D
p5=[1;1;1;1;1;1;0;0;0;0;1;1;1;1;1;1;0;0;0;0;1;1;1;1;1];%E
p6=[1;1;1;1;1;1;0;0;0;0;1;1;1;1;1;1;0;0;0;0;1;0;0;0;0];%F
p7=[1;1;1;1;1;1;0;0;0;0;1;0;0;1;1;1;0;0;0;1;1;1;1;1;1];%G
p8=[1;0;0;0;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;1;1;0;0;0;1];%H
p9=[1;1;1;1;1;0;0;1;0;0;0;0;1;0;0;0;0;1;0;0;1;1;1;1;1];%I
p10=[1;1;1;1;1;0;0;1;0;0;0;0;1;0;0;0;0;1;0;0;1;1;1;0;0];%J
p11=[1;0;0;0;1;1;0;0;1;0;1;1;1;0;0;1;0;0;1;0;1;0;0;0;1];%K
p12=[1;0;0;0;0;1;0;0;0;0;1;0;0;0;0;1;0;0;0;0;1;1;1;1;1];%L
p13=[1;1;1;1;1;1;0;1;0;1;1;0;1;0;1;1;0;1;0;1;1;0;1;0;1];%M
p14=[1;0;0;0;1;1;1;0;0;1;1;0;1;0;1;1;0;0;1;1;1;0;0;0;1];%N
p15=[1;1;1;1;1;1;0;0;0;1;1;0;0;0;1;1;0;0;0;1;1;1;1;1;1];%O
p16=[1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;1;0;0;0;0];%p
p17=[1;1;1;1;1;1;0;0;0;1;1;0;1;0;1;1;0;0;1;1;1;1;1;1;1];%Q
p18=[1;1;1;1;0;1;0;0;1;0;1;1;1;0;0;1;0;0;0;1;1;0;0;0;1];%R
p19=[1;1;1;1;1;1;0;0;0;0;1;1;1;1;1;0;0;0;0;1;1;1;1;1;1];%S
p20=[1;1;1;1;1;0;0;1;0;0;0;0;1;0;0;0;0;1;0;0;0;0;1;0;0];%T
p21=[1;0;0;0;1;1;0;0;0;1;1;0;0;0;1;1;0;0;0;1;1;1;1;1;1];%U
p22=[1;0;0;0;1;1;0;0;0;1;1;0;0;0;1;0;1;0;1;0;0;0;1;0;0];%V
p23=[1;0;1;0;1;1;0;1;0;1;1;0;1;0;1;1;0;1;0;1;1;1;1;1;1];%W
p24=[1;0;0;0;1;0;1;0;1;0;0;0;1;0;0;0;1;0;1;0;1;0;1;0;1];%X
p25=[1;0;0;0;1;1;0;0;0;1;1;1;1;1;1;0;0;0;0;1;1;1;1;1;1];%Y
p26=[1;1;1;1;1;0;0;0;1;0;0;0;1;0;0;0;1;0;0;0;1;1;1;1;1];%Z

p=[p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26];

t=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26];

%net=newff(minmax(p),[26,1],{'logsig','tansig'},'trainlm');
net=newff(minmax(p),[26,1],{'tansig','logsig'},'trainlm');
net.trainparam.show=50;
net.trainparam.lr=0.05;

net.trainparam.max_fail=5;
net.trainparam.mem_reduc=1;
net.trainparam.min_grad=1e-10;
net.trainparam.mu=0.001;
net.trainparam.mu_inc=10;
net.trainparam.time=inf;
net.trainparam.epochs=1000;
net.trainparam.goal=1e-5;

[net,tr]=train(net,p,t);

a=sim(net,p);

e=t-a;

w1=net.iw{1,1};
b1=net.b{1};
w2=net.lw{2,1};
b2=net.b{2};
